--- title: dashboards keywords: fastai sidebar: home_sidebar summary: "Supplies dashboards to investigate datasets and training results. Dashboards are defined as classes, to show the dashboard use the .show() function on an dashboard instance." description: "Supplies dashboards to investigate datasets and training results. Dashboards are defined as classes, to show the dashboard use the .show() function on an dashboard instance." nb_path: "nbs/dashboards.ipynb" ---
{% raw %}
{% endraw %} {% raw %}
{% endraw %} {% raw %}
pn.extension()
{% endraw %}

Test data setup

{% raw %}
import icedata
{% endraw %} {% raw %}
test_data_dir = icedata.fridge.load_data()
test_class_map = icedata.fridge.class_map()
test_parser = icedata.fridge.parser(test_data_dir, test_class_map)
test_train_records, test_valid_records = test_parser.parse()
test_valid_records = test_valid_records[:5]
test_record_dataset = RecordDataset(test_valid_records, test_class_map)
test_record_dataset_no_class_map = RecordDataset(test_valid_records)
INFO     - Autofixing records | icevision.parsers.parser:parse:126

{% endraw %}

Dataset overview

{% raw %}

class RecordDatasetOverview[source]

RecordDatasetOverview(record_dataset, height=500, width=1500)

{% endraw %} {% raw %}
{% endraw %} {% raw %}
dso = RecordDatasetOverview(test_record_dataset, height=500)
dso.show()
{% endraw %} {% raw %}
dso = RecordDatasetOverview(test_record_dataset_no_class_map, height=700, width=500)
{% endraw %} {% raw %}

class MultiDatasetOverview[source]

MultiDatasetOverview(datasets, cols=None, height=500, width=1500)

{% endraw %} {% raw %}
{% endraw %} {% raw %}
datasets = ObservableList([test_record_dataset, test_record_dataset_no_class_map])
datasets.register_callback(lambda x: print("test"))
mdo = MultiDatasetOverview(datasets, width=800, height=500)
mdo.show()
{% endraw %} {% raw %}
mdo_empty = MultiDatasetOverview([])
assert mdo_empty.show() is None
{% endraw %}

Dataset filter

{% raw %}
import time
{% endraw %} {% raw %}

class DatasetFilter[source]

DatasetFilter(record_dataset, export_variable:Optional[list]=None, height=500, width=500)

Creates a gallery with filter options to select subsets of the data. If the export_varialbe is set to a variable, that is a list a dict with the current selection (pd.Dataframe (key: data) and list of records (key: records)) will be append to the list.

{% endraw %} {% raw %}
{% endraw %} {% raw %}
dump_var = []
ds_filter = DatasetFilter(test_record_dataset, export_variable=dump_var, width=1000, height=500).show()
# trigger click event to test if record is added to dump_var
ds_filter[-1].clicks += 1
assert len(dump_var) == 1
assert len(dump_var[0]["records"]) == len(test_valid_records)
ds_filter
{% endraw %}

Dataset creator

{% raw %}

class DatasetFilterThatExportsRecordDataset[source]

DatasetFilterThatExportsRecordDataset(record_dataset, export_variable:Optional[list]=None, height=500, width=500) :: DatasetFilter

Creates a gallery with filter options to select subsets of the data. If the export_varialbe is set to a variable, that is a list a dict with the current selection (pd.Dataframe (key: data) and list of records (key: records)) will be append to the list.

{% endraw %} {% raw %}
{% endraw %} {% raw %}
dump_var = []
dstoes_filter = DatasetFilterThatExportsRecordDataset(test_record_dataset, export_variable=dump_var, height=400).show()
# trigger click event to test if record is added to dump_var
dstoes_filter[-1].clicks += 1
assert len(dump_var) == 1
assert isinstance(dump_var[0], RecordDataset)
dstoes_filter
INFO     - Autofixing records | icevision.parsers.parser:parse:126

{% endraw %} {% raw %}

class DatasetCreator[source]

DatasetCreator(record_dataset, class_map=None, height=700, width=1000)

{% endraw %} {% raw %}
{% endraw %} {% raw %}
dsc = DatasetCreator(test_record_dataset, test_class_map)
gui = dsc.show()
gui[0][-1].clicks+=1
gui
INFO     - Autofixing records | icevision.parsers.parser:parse:126

{% endraw %}